# is	is 是判断两个标识符是不是引用自一个对象	x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True，否则返回 False
# is not	is not 是判断两个标识符是不是引用自不同对象	x is not y ， 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True，否则返回 False。
# id() 函数用于获取对象内存地址。

# is 与 == 区别：
# is 用于判断两个变量引用对象是否为同一个(同一块内存空间)， == 用于判断引用变量的值是否相等。

a = 20
b = 20

print(id(a))
print(id(b))

 
if ( a is b ):
   print( "1 - a 和 b 有相同的标识")
else:
   print( "1 - a 和 b 没有相同的标识")

# 修改变量 b 的值
b = 30
if ( a is b ):
   print( "3 - a 和 b 有相同的标识")
else:
   print( "3 - a 和 b 没有相同的标识")

a = [1, 2, 3]
b = a



print(b is a )
print(b == a)

b = a[:]

print(id(a))
print(id(b))

print(b is a)
print(b == a)

